{
  "cells": [
    {
      "cell_type": "markdown",
      "source": [
        "# Linear Regression Prediction"
      ],
      "metadata": {
        "nteract": {
          "transient": {
            "deleting": false
          }
        }
      }
    },
    {
      "cell_type": "code",
      "source": [
        "import numpy as np\n",
        "import pandas as pd\n",
        "import matplotlib.pyplot as plt\n",
        "import seaborn as sns\n",
        "\n",
        "import warnings\n",
        "warnings.filterwarnings(\"ignore\")\n",
        "\n",
        "# yfinance is used to fetch data \n",
        "import yfinance as yf\n",
        "yf.pdr_override()"
      ],
      "outputs": [],
      "execution_count": 1,
      "metadata": {
        "collapsed": true,
        "jupyter": {
          "source_hidden": false,
          "outputs_hidden": false
        },
        "nteract": {
          "transient": {
            "deleting": false
          }
        },
        "execution": {
          "iopub.status.busy": "2021-07-19T01:08:30.247Z",
          "iopub.execute_input": "2021-07-19T01:08:30.252Z",
          "iopub.status.idle": "2021-07-19T01:08:30.944Z",
          "shell.execute_reply": "2021-07-19T01:08:30.964Z"
        }
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# input\n",
        "symbol = 'AMD'\n",
        "start = '2012-01-01'\n",
        "end = '2021-07-16'\n",
        "\n",
        "# Read data \n",
        "dataset = yf.download(symbol,start,end)\n",
        "\n",
        "# View Columns\n",
        "dataset.head()"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[*********************100%***********************]  1 of 1 completed\n"
          ]
        },
        {
          "output_type": "execute_result",
          "execution_count": 2,
          "data": {
            "text/plain": "            Open  High   Low  Close  Adj Close    Volume\nDate                                                    \n2012-01-03  5.53  5.59  5.44   5.48       5.48  12675100\n2012-01-04  5.47  5.49  5.41   5.46       5.46   8034900\n2012-01-05  5.45  5.57  5.35   5.46       5.46  11476900\n2012-01-06  5.44  5.52  5.39   5.43       5.43  12938600\n2012-01-09  5.42  5.60  5.38   5.59       5.59  12585400",
            "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>Open</th>\n      <th>High</th>\n      <th>Low</th>\n      <th>Close</th>\n      <th>Adj Close</th>\n      <th>Volume</th>\n    </tr>\n    <tr>\n      <th>Date</th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>2012-01-03</th>\n      <td>5.53</td>\n      <td>5.59</td>\n      <td>5.44</td>\n      <td>5.48</td>\n      <td>5.48</td>\n      <td>12675100</td>\n    </tr>\n    <tr>\n      <th>2012-01-04</th>\n      <td>5.47</td>\n      <td>5.49</td>\n      <td>5.41</td>\n      <td>5.46</td>\n      <td>5.46</td>\n      <td>8034900</td>\n    </tr>\n    <tr>\n      <th>2012-01-05</th>\n      <td>5.45</td>\n      <td>5.57</td>\n      <td>5.35</td>\n      <td>5.46</td>\n      <td>5.46</td>\n      <td>11476900</td>\n    </tr>\n    <tr>\n      <th>2012-01-06</th>\n      <td>5.44</td>\n      <td>5.52</td>\n      <td>5.39</td>\n      <td>5.43</td>\n      <td>5.43</td>\n      <td>12938600</td>\n    </tr>\n    <tr>\n      <th>2012-01-09</th>\n      <td>5.42</td>\n      <td>5.60</td>\n      <td>5.38</td>\n      <td>5.59</td>\n      <td>5.59</td>\n      <td>12585400</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
          },
          "metadata": {}
        }
      ],
      "execution_count": 2,
      "metadata": {
        "collapsed": true,
        "jupyter": {
          "source_hidden": false,
          "outputs_hidden": false
        },
        "nteract": {
          "transient": {
            "deleting": false
          }
        },
        "execution": {
          "iopub.status.busy": "2021-07-19T01:08:30.952Z",
          "iopub.execute_input": "2021-07-19T01:08:30.956Z",
          "iopub.status.idle": "2021-07-19T01:08:31.787Z",
          "shell.execute_reply": "2021-07-19T01:08:31.899Z"
        }
      }
    },
    {
      "cell_type": "code",
      "source": [
        "dataset.tail()"
      ],
      "outputs": [
        {
          "output_type": "execute_result",
          "execution_count": 3,
          "data": {
            "text/plain": "                 Open       High        Low      Close  Adj Close    Volume\nDate                                                                       \n2021-07-09  90.040001  91.260002  88.529999  90.900002  90.900002  35256400\n2021-07-12  91.220001  91.900002  89.650002  90.809998  90.809998  28526600\n2021-07-13  90.480003  91.410004  89.830002  90.260002  90.260002  30367600\n2021-07-14  90.760002  91.400002  88.940002  89.050003  89.050003  28108500\n2021-07-15  89.779999  89.779999  86.180000  86.930000  86.930000  38944700",
            "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>Open</th>\n      <th>High</th>\n      <th>Low</th>\n      <th>Close</th>\n      <th>Adj Close</th>\n      <th>Volume</th>\n    </tr>\n    <tr>\n      <th>Date</th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>2021-07-09</th>\n      <td>90.040001</td>\n      <td>91.260002</td>\n      <td>88.529999</td>\n      <td>90.900002</td>\n      <td>90.900002</td>\n      <td>35256400</td>\n    </tr>\n    <tr>\n      <th>2021-07-12</th>\n      <td>91.220001</td>\n      <td>91.900002</td>\n      <td>89.650002</td>\n      <td>90.809998</td>\n      <td>90.809998</td>\n      <td>28526600</td>\n    </tr>\n    <tr>\n      <th>2021-07-13</th>\n      <td>90.480003</td>\n      <td>91.410004</td>\n      <td>89.830002</td>\n      <td>90.260002</td>\n      <td>90.260002</td>\n      <td>30367600</td>\n    </tr>\n    <tr>\n      <th>2021-07-14</th>\n      <td>90.760002</td>\n      <td>91.400002</td>\n      <td>88.940002</td>\n      <td>89.050003</td>\n      <td>89.050003</td>\n      <td>28108500</td>\n    </tr>\n    <tr>\n      <th>2021-07-15</th>\n      <td>89.779999</td>\n      <td>89.779999</td>\n      <td>86.180000</td>\n      <td>86.930000</td>\n      <td>86.930000</td>\n      <td>38944700</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
          },
          "metadata": {}
        }
      ],
      "execution_count": 3,
      "metadata": {
        "collapsed": true,
        "jupyter": {
          "source_hidden": false,
          "outputs_hidden": false
        },
        "nteract": {
          "transient": {
            "deleting": false
          }
        },
        "execution": {
          "iopub.status.busy": "2021-07-19T01:08:31.795Z",
          "iopub.execute_input": "2021-07-19T01:08:31.800Z",
          "iopub.status.idle": "2021-07-19T01:08:31.811Z",
          "shell.execute_reply": "2021-07-19T01:08:31.903Z"
        }
      }
    },
    {
      "cell_type": "code",
      "source": [
        "y = dataset['Adj Close']\n",
        "X = dataset.drop('Adj Close',axis=1)"
      ],
      "outputs": [],
      "execution_count": 4,
      "metadata": {
        "collapsed": true,
        "jupyter": {
          "source_hidden": false,
          "outputs_hidden": false
        },
        "nteract": {
          "transient": {
            "deleting": false
          }
        },
        "execution": {
          "iopub.status.busy": "2021-07-19T01:08:31.817Z",
          "iopub.execute_input": "2021-07-19T01:08:31.822Z",
          "iopub.status.idle": "2021-07-19T01:08:31.829Z",
          "shell.execute_reply": "2021-07-19T01:08:31.907Z"
        }
      }
    },
    {
      "cell_type": "code",
      "source": [
        "dataset.dtypes"
      ],
      "outputs": [
        {
          "output_type": "execute_result",
          "execution_count": 5,
          "data": {
            "text/plain": "Open         float64\nHigh         float64\nLow          float64\nClose        float64\nAdj Close    float64\nVolume         int64\ndtype: object"
          },
          "metadata": {}
        }
      ],
      "execution_count": 5,
      "metadata": {
        "collapsed": true,
        "jupyter": {
          "source_hidden": false,
          "outputs_hidden": false
        },
        "nteract": {
          "transient": {
            "deleting": false
          }
        },
        "execution": {
          "iopub.status.busy": "2021-07-19T01:08:31.836Z",
          "iopub.execute_input": "2021-07-19T01:08:31.840Z",
          "shell.execute_reply": "2021-07-19T01:08:31.910Z",
          "iopub.status.idle": "2021-07-19T01:08:31.851Z"
        }
      }
    },
    {
      "cell_type": "code",
      "source": [
        "print(len(X))\n",
        "print(len(y))"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "2399\n",
            "2399\n"
          ]
        }
      ],
      "execution_count": 6,
      "metadata": {
        "collapsed": true,
        "jupyter": {
          "source_hidden": false,
          "outputs_hidden": false
        },
        "nteract": {
          "transient": {
            "deleting": false
          }
        },
        "execution": {
          "shell.execute_reply": "2021-07-19T01:08:31.914Z",
          "iopub.status.busy": "2021-07-19T01:08:31.858Z",
          "iopub.execute_input": "2021-07-19T01:08:31.862Z",
          "iopub.status.idle": "2021-07-19T01:08:31.872Z"
        }
      }
    },
    {
      "cell_type": "code",
      "source": [
        "from sklearn.model_selection import train_test_split\n",
        "from sklearn.linear_model import LinearRegression\n",
        "from sklearn.metrics import mean_squared_error, r2_score\n",
        "from sklearn.metrics import confusion_matrix,accuracy_score"
      ],
      "outputs": [],
      "execution_count": 7,
      "metadata": {
        "collapsed": true,
        "jupyter": {
          "source_hidden": false,
          "outputs_hidden": false
        },
        "nteract": {
          "transient": {
            "deleting": false
          }
        },
        "execution": {
          "iopub.status.busy": "2021-07-19T01:08:31.878Z",
          "iopub.execute_input": "2021-07-19T01:08:31.883Z",
          "iopub.status.idle": "2021-07-19T01:08:31.963Z",
          "shell.execute_reply": "2021-07-19T01:08:31.955Z"
        }
      }
    },
    {
      "cell_type": "code",
      "source": [
        "X_train, X_test, y_train, y_test=train_test_split(X,y,test_size=0.2,random_state=0)"
      ],
      "outputs": [],
      "execution_count": 8,
      "metadata": {
        "collapsed": true,
        "jupyter": {
          "source_hidden": false,
          "outputs_hidden": false
        },
        "nteract": {
          "transient": {
            "deleting": false
          }
        },
        "execution": {
          "iopub.status.busy": "2021-07-19T01:08:31.970Z",
          "iopub.execute_input": "2021-07-19T01:08:31.974Z",
          "iopub.status.idle": "2021-07-19T01:08:31.981Z",
          "shell.execute_reply": "2021-07-19T01:08:32.251Z"
        }
      }
    },
    {
      "cell_type": "code",
      "source": [
        "X_test.columns"
      ],
      "outputs": [
        {
          "output_type": "execute_result",
          "execution_count": 9,
          "data": {
            "text/plain": "Index(['Open', 'High', 'Low', 'Close', 'Volume'], dtype='object')"
          },
          "metadata": {}
        }
      ],
      "execution_count": 9,
      "metadata": {
        "collapsed": true,
        "jupyter": {
          "source_hidden": false,
          "outputs_hidden": false
        },
        "nteract": {
          "transient": {
            "deleting": false
          }
        },
        "execution": {
          "iopub.status.busy": "2021-07-19T01:08:31.991Z",
          "iopub.execute_input": "2021-07-19T01:08:31.996Z",
          "iopub.status.idle": "2021-07-19T01:08:32.007Z",
          "shell.execute_reply": "2021-07-19T01:08:32.255Z"
        }
      }
    },
    {
      "cell_type": "code",
      "source": [
        "model = LinearRegression()"
      ],
      "outputs": [],
      "execution_count": 10,
      "metadata": {
        "collapsed": true,
        "jupyter": {
          "source_hidden": false,
          "outputs_hidden": false
        },
        "nteract": {
          "transient": {
            "deleting": false
          }
        },
        "execution": {
          "iopub.status.busy": "2021-07-19T01:08:32.014Z",
          "iopub.execute_input": "2021-07-19T01:08:32.019Z",
          "iopub.status.idle": "2021-07-19T01:08:32.027Z",
          "shell.execute_reply": "2021-07-19T01:08:32.258Z"
        }
      }
    },
    {
      "cell_type": "code",
      "source": [
        "model.fit(X_train,y_train)"
      ],
      "outputs": [
        {
          "output_type": "execute_result",
          "execution_count": 11,
          "data": {
            "text/plain": "LinearRegression()"
          },
          "metadata": {}
        }
      ],
      "execution_count": 11,
      "metadata": {
        "collapsed": true,
        "jupyter": {
          "source_hidden": false,
          "outputs_hidden": false
        },
        "nteract": {
          "transient": {
            "deleting": false
          }
        },
        "execution": {
          "iopub.status.busy": "2021-07-19T01:08:32.035Z",
          "iopub.execute_input": "2021-07-19T01:08:32.040Z",
          "iopub.status.idle": "2021-07-19T01:08:32.053Z",
          "shell.execute_reply": "2021-07-19T01:08:32.260Z"
        }
      }
    },
    {
      "cell_type": "code",
      "source": [
        "y_predict = model.predict(X_test)"
      ],
      "outputs": [],
      "execution_count": 12,
      "metadata": {
        "collapsed": true,
        "jupyter": {
          "source_hidden": false,
          "outputs_hidden": false
        },
        "nteract": {
          "transient": {
            "deleting": false
          }
        },
        "execution": {
          "iopub.status.busy": "2021-07-19T01:08:32.059Z",
          "iopub.execute_input": "2021-07-19T01:08:32.063Z",
          "iopub.status.idle": "2021-07-19T01:08:32.071Z",
          "shell.execute_reply": "2021-07-19T01:08:32.264Z"
        }
      }
    },
    {
      "cell_type": "code",
      "source": [
        "rmse = mean_squared_error(y_test,y_predict)"
      ],
      "outputs": [],
      "execution_count": 13,
      "metadata": {
        "collapsed": true,
        "jupyter": {
          "source_hidden": false,
          "outputs_hidden": false
        },
        "nteract": {
          "transient": {
            "deleting": false
          }
        },
        "execution": {
          "iopub.status.busy": "2021-07-19T01:08:32.077Z",
          "iopub.execute_input": "2021-07-19T01:08:32.084Z",
          "iopub.status.idle": "2021-07-19T01:08:32.092Z",
          "shell.execute_reply": "2021-07-19T01:08:32.267Z"
        }
      }
    },
    {
      "cell_type": "code",
      "source": [
        "r2 = r2_score(y_test,y_predict)"
      ],
      "outputs": [],
      "execution_count": 14,
      "metadata": {
        "collapsed": true,
        "jupyter": {
          "source_hidden": false,
          "outputs_hidden": false
        },
        "nteract": {
          "transient": {
            "deleting": false
          }
        },
        "execution": {
          "iopub.status.busy": "2021-07-19T01:08:32.101Z",
          "iopub.execute_input": "2021-07-19T01:08:32.105Z",
          "iopub.status.idle": "2021-07-19T01:08:32.114Z",
          "shell.execute_reply": "2021-07-19T01:08:32.271Z"
        }
      }
    },
    {
      "cell_type": "code",
      "source": [
        "coefficient = model.coef_"
      ],
      "outputs": [],
      "execution_count": 15,
      "metadata": {
        "collapsed": true,
        "jupyter": {
          "source_hidden": false,
          "outputs_hidden": false
        },
        "nteract": {
          "transient": {
            "deleting": false
          }
        },
        "execution": {
          "iopub.status.busy": "2021-07-19T01:08:32.120Z",
          "iopub.execute_input": "2021-07-19T01:08:32.124Z",
          "iopub.status.idle": "2021-07-19T01:08:32.131Z",
          "shell.execute_reply": "2021-07-19T01:08:32.274Z"
        }
      }
    },
    {
      "cell_type": "code",
      "source": [
        "intercept = model.intercept_"
      ],
      "outputs": [],
      "execution_count": 16,
      "metadata": {
        "collapsed": true,
        "jupyter": {
          "source_hidden": false,
          "outputs_hidden": false
        },
        "nteract": {
          "transient": {
            "deleting": false
          }
        },
        "execution": {
          "iopub.status.busy": "2021-07-19T01:08:32.137Z",
          "iopub.execute_input": "2021-07-19T01:08:32.141Z",
          "iopub.status.idle": "2021-07-19T01:08:32.149Z",
          "shell.execute_reply": "2021-07-19T01:08:32.277Z"
        }
      }
    },
    {
      "cell_type": "code",
      "source": [
        "print('rmse=',rmse)\n",
        "print('r2=',r2)\n",
        "print('coefficient=',coefficient)\n",
        "print('intercept=',intercept)"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "rmse= 2.3990246245440438e-20\n",
            "r2= 1.0\n",
            "coefficient= [ 1.60684683e-14 -2.09032320e-14  6.45546616e-15  1.00000000e+00\n",
            " -4.16274342e-18]\n",
            "intercept= 1.8123103018297115e-10\n"
          ]
        }
      ],
      "execution_count": 17,
      "metadata": {
        "collapsed": true,
        "jupyter": {
          "source_hidden": false,
          "outputs_hidden": false
        },
        "nteract": {
          "transient": {
            "deleting": false
          }
        },
        "execution": {
          "iopub.status.busy": "2021-07-19T01:08:32.157Z",
          "iopub.execute_input": "2021-07-19T01:08:32.161Z",
          "iopub.status.idle": "2021-07-19T01:08:32.172Z",
          "shell.execute_reply": "2021-07-19T01:08:32.281Z"
        }
      }
    },
    {
      "cell_type": "code",
      "source": [
        "p ={'y_test':y_test,'y_predict':y_predict}\n"
      ],
      "outputs": [],
      "execution_count": 18,
      "metadata": {
        "collapsed": true,
        "jupyter": {
          "source_hidden": false,
          "outputs_hidden": false
        },
        "nteract": {
          "transient": {
            "deleting": false
          }
        },
        "execution": {
          "iopub.status.busy": "2021-07-19T01:08:32.180Z",
          "iopub.execute_input": "2021-07-19T01:08:32.186Z",
          "iopub.status.idle": "2021-07-19T01:08:32.194Z",
          "shell.execute_reply": "2021-07-19T01:08:32.285Z"
        }
      }
    },
    {
      "cell_type": "code",
      "source": [
        "df = pd.DataFrame(data=p)"
      ],
      "outputs": [],
      "execution_count": 19,
      "metadata": {
        "collapsed": true,
        "jupyter": {
          "source_hidden": false,
          "outputs_hidden": false
        },
        "nteract": {
          "transient": {
            "deleting": false
          }
        },
        "execution": {
          "iopub.status.busy": "2021-07-19T01:08:32.202Z",
          "iopub.execute_input": "2021-07-19T01:08:32.207Z",
          "iopub.status.idle": "2021-07-19T01:08:32.216Z",
          "shell.execute_reply": "2021-07-19T01:08:32.288Z"
        }
      }
    },
    {
      "cell_type": "code",
      "source": [
        "plt.figure(figsize=(20,8))\n",
        "df.resample('Y').mean().plot.barh(color=['blue','green'])"
      ],
      "outputs": [
        {
          "output_type": "execute_result",
          "execution_count": 20,
          "data": {
            "text/plain": "<AxesSubplot:ylabel='Date'>"
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": "<Figure size 1440x576 with 0 Axes>"
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": "<Figure size 432x288 with 1 Axes>",
            "image/png": "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se2t8nOMiCC7Slr139VSzmwj4g9kZ2TV9r0OnFSl/BWqzxJeRDbBqpF6P19QXrefkZ3xfq5g32MFbas87l7g3irlz1FlBnBU3LONiCuBK7ch79Tc678C/7OgXVXzmplFB83Q2HvvvTnxxBPp2rUrnTpV/2vEAQMG0KlTJwYOHMg555zDpEmTeOGFFxg8eDARwSGHHMKvfvUrHnjgAa666io6d+7MAQccwG233QbAhAkTGDBgAIMHD+7wCVKKjvqkbZfV1NQULS0tHd0MMyvBsmXL+Nu//duObgabNm1i8ODB3HnnnfTr16+jm7PNqn2Okh6PiKZqx/txjWZmtlMtXbqUI488kpNOOmm3HGi3hxciMDOznap///4899xzm98vXryYr399y4f/7bPPPixYsF2PVNglebA1M7MO9dnPfnaX+XvYsvgyspmZWck82JqZmZXMg62ZmVnJPNiamZmVzBOkzMz2YPpO+y5CG81+dkM1PrM1M7M9wq233soFF1wAwA033LD5SVPV7OhaupV8Zmtbefy/Hm/X33b9m66Zlen9998vfORjkYkTJ9bc3zbY/tM/VVv3Zdv5zNbMzHaqqVOn8oMf/GDz+ylTpvDDH/5wq+MeeOABjj/+eL70pS/xqU99iokTJ7JpU7Zw2wEHHMAll1zCwIEDeeSRR/j3f/93hg4dyqBBgzjvvPN4//33AZg2bRqf/OQnGTp0KA8//PDm3JdffjlXX301AK2trXzxi19k4MCBDB48mGeffZbJkyfz0EMPMWjQIK699tod7rMHWzMz26nGjRu3+RJu2+LxX/va16oe++ijj3LdddexdOlSnn32WWbNypZH//Of/8yxxx7LU089Rffu3bnjjjt4+OGHWbhwIZ06dWLGjBmsXr2a5uZmHn74Yf7whz+wdOnSqnWcddZZnH/++Tz11FP88Y9/5NBDD+V73/sen//851m4cCEXX3zxDve5lMFWUm9J90taKulpSZNy+7pJmitpRfp5cCo/StIjkjZIurSRXFXqvUXSGklLKsqvkvSMpEWSfimpa0H8d9MxCyXNkXRYrbZViR8iabGkVkk/SuviFva5SvyYdMwKSWPq5a2IVdrXmvowuF5eM7OOkF88fs6cOTUXjx86dChHHHEEnTp14swzz+QPf/gDAJ06deL0008HYN68eTz++OMcc8wxDBo0iHnz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\n"
          },
          "metadata": {
            "needs_background": "light"
          }
        }
      ],
      "execution_count": 20,
      "metadata": {
        "collapsed": true,
        "jupyter": {
          "source_hidden": false,
          "outputs_hidden": false
        },
        "nteract": {
          "transient": {
            "deleting": false
          }
        },
        "execution": {
          "iopub.status.busy": "2021-07-19T01:08:32.224Z",
          "iopub.execute_input": "2021-07-19T01:08:32.229Z",
          "shell.execute_reply": "2021-07-19T01:08:32.361Z",
          "iopub.status.idle": "2021-07-19T01:08:32.329Z"
        }
      }
    },
    {
      "cell_type": "code",
      "source": [
        "r2_score = model.score(X_test,y_test) \n",
        "print(r2_score*100,'%')"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "100.0 %\n"
          ]
        }
      ],
      "execution_count": 21,
      "metadata": {
        "collapsed": true,
        "jupyter": {
          "source_hidden": false,
          "outputs_hidden": false
        },
        "nteract": {
          "transient": {
            "deleting": false
          }
        },
        "execution": {
          "iopub.status.busy": "2021-07-19T01:08:32.336Z",
          "iopub.execute_input": "2021-07-19T01:08:32.341Z",
          "iopub.status.idle": "2021-07-19T01:08:32.352Z",
          "shell.execute_reply": "2021-07-19T01:08:32.365Z"
        }
      }
    }
  ],
  "metadata": {
    "kernel_info": {
      "name": "python3"
    },
    "language_info": {
      "name": "python",
      "version": "3.6.12",
      "mimetype": "text/x-python",
      "codemirror_mode": {
        "name": "ipython",
        "version": 3
      },
      "pygments_lexer": "ipython3",
      "nbconvert_exporter": "python",
      "file_extension": ".py"
    },
    "kernelspec": {
      "argv": [
        "C:/Users/Tin Hang/Anaconda3\\python.exe",
        "-m",
        "ipykernel_launcher",
        "-f",
        "{connection_file}"
      ],
      "display_name": "Python 3",
      "language": "python",
      "name": "python3"
    },
    "nteract": {
      "version": "0.28.0"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 0
}